package dr.moteur;

import java.io.Serializable;
/**
 * Classe abstraite permettant d'instancier des ameliorations
 */
public class AmeliorationAbstraite implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/*pour les tours*/
	/**
	 * bonus ajoute a la portee d'une tour
	 */
	protected float porteeBonus;
	/**
	 * bonus apporte aux effets d'une tour
	 */
	protected float porteeEffetBonus;
	/**
	 * bonus apporte a la puissance d'une tour
	 */
	protected float puissanceBonus;
	/**
	 * bonus apporte a la cadence de tir d'une tour
	 */
	protected float cadenceBonus;
	/*pour les agents*/
	/**
	 * bonus apporte a la vie des agents
	 */
	protected float vieBonus;
	/**
	 * bonus apporte a la vie maximale des agents
	 */
	protected float vieMaxBonus;
	/**
	 * bonus apporte a l'armure des agents
	 */
	protected float armureBonus;
	/**
	 * bonus apporte a la vitesse des agents
	 */
	protected float vitesseBonus;
	/**
	 * modifie la vie de l'alien en temps reel
	 */
	protected int vieModif;
	/*pour les effets a duree sur les agents*/
	/**
	 * effet diminuant la vie des agents
	 */
	protected float dureeDegats;
	/**
	 * effet etourdissant les agents et les immobilisant
	 */
	protected float dureeStun;
	/**
	 * effet diminuant l'armure d'un agent
	 */
	protected float dureeAcide;
	/**
	 * effet ralentissant l'agent
	 */
	protected float dureeRalenti;
	
	/*Constructeur*/
	/**
	 * Constructeur amelioration abstraite
	 */
	public AmeliorationAbstraite() {

		this.porteeBonus=1.0f;
		this.porteeEffetBonus=1.0f;
		this.puissanceBonus=1.0f;
		this.cadenceBonus=1.0f;
		this.vieBonus=1.0f;
		this.vieMaxBonus=1.0f;
		this.armureBonus=1.0f;
		this.vitesseBonus=1.0f;
		this.vieModif=0;
		this.dureeDegats=0.0f;
		this.dureeStun=0.0f;
		this.dureeAcide=0.0f;
		this.dureeRalenti=0.0f;
	}
	

	public float getPorteeBonus() {
		return porteeBonus;
	}
	public void setPorteeBonus(float porteeBonus) {
		this.porteeBonus = porteeBonus;
	}
	public float getPuissanceBonus() {
		return puissanceBonus;
	}
	public void setPuissanceBonus(float puissanceBonus) {
		this.puissanceBonus = puissanceBonus;
	}
	public float getCadenceBonus() {
		return cadenceBonus;
	}
	public void setCadenceBonus(float cadenceBonus) {
		this.cadenceBonus = cadenceBonus;
	}
	public float getVieBonus() {
		return vieBonus;
	}
	public void setVieBonus(float vieBonus) {
		this.vieBonus = vieBonus;
	}
	public float getArmureBonus() {
		return armureBonus;
	}
	public void setArmureBonus(float armureBonus) {
		this.armureBonus = armureBonus;
	}
	public float getVitesseBonus() {
		return vitesseBonus;
	}
	public void setVitesseBonus(float vitesseBonus) {
		this.vitesseBonus = vitesseBonus;
	}
	public float getVieMaxBonus() {
		return vieMaxBonus;
	}
	public void setVieMaxBonus(float vieMaxBonus) {
		this.vieMaxBonus = vieMaxBonus;
	}
	public int getVieModif() {
		return vieModif;
	}
	public void setVieModif(int vieModif) {
		this.vieModif = vieModif;
	}
	public float getDureeDegats() {
		return dureeDegats;
	}
	public void setDureeDegats(float dureeDegats) {
		this.dureeDegats = dureeDegats;
	}
	public float getDureeStun() {
		return dureeStun;
	}
	public void setDureeStun(float dureeStun) {
		this.dureeStun = dureeStun;
	}
	public float getDureeAcide() {
		return dureeAcide;
	}
	public void setDureeAcide(float dureeAcide) {
		this.dureeAcide = dureeAcide;
	}
	public float getDureeRalenti() {
		return dureeRalenti;
	}
	public void setDureeRalenti(float dureeRalenti) {
		this.dureeRalenti = dureeRalenti;
	}

	public float getPorteeEffetBonus() {
		return porteeEffetBonus;
	}
	public void setPorteeEffetBonus(float porteeEffetBonus) {
		this.porteeEffetBonus = porteeEffetBonus;
	}
}
